package appapi.service;

import appapi.Request.Basic.DelEquipImportReq;
import appapi.Request.Basic.GetEquipImportReq;
import appapi.Request.EquiPageReq;
import appapi.Request.EquipmentPageReq;
import appapi.Request.SaveImportReq;
import appapi.Request.record.BindEquipmentReq;
import appapi.Vo.AppVo.ExcelEquipVo;
import appapi.Vo.AppVo.ExecelEquipVos;
import appapi.Vo.AppVo.GetEquipList;
import appapi.Vo.UpdateImportEquipVo;
import appapi.config.CurrentUser;
import appapi.dto.WxCodeDto;
import appapi.dto.basic.EquipNoDto;
import appapi.dto.EquiPageReqModel;
import appapi.dto.basic.GenerateImportDto;
import appapi.entity.Zhongjiao.EquipmentDto;
import appapi.entity.basic.UserInfo;
import org.springframework.stereotype.Repository;

import java.io.IOException;
import java.util.List;
import java.util.Map;

/**
 * @author djq
 * @date 2023/5/16 15:14
 * @description:
 */
@Repository
public interface IEquipmentService {
    void InsertEquipment(EquipmentDto dto);

    void UpdateEquipment(EquipmentDto dto);

    int DelEquipment(List<Long> equipId);

    List<Map<String, Object>> SelectEquipmentPage(Long userId, EquiPageReq dto);

    List<ExecelEquipVos> SelectEquipmentPages( UserInfo userInfo, EquiPageReq dto);

    Map<String, Object> SelectEquipmentDetail(Long equipId);

    List<GetEquipList> GetEquipPage(EquipmentPageReq req);

    List<GetEquipList> GetEquipList(EquipmentPageReq req);

    List<ExcelEquipVo> getList(EquiPageReq req);

    List<ExecelEquipVos> getLists(UserInfo userInfo, EquiPageReq req);

    String getEquipNo(EquipNoDto dto);

    List<EquiPageReqModel> getEquipList(EquiPageReq equiPageReq);

    GenerateImportDto EquipmentRecImport(List<ExcelEquipVo> list);

    List<Object> getEquipTypeListFromRedis(SaveImportReq req);

    Map getWaitEquipmentListByPage(GetEquipImportReq req);

    GenerateImportDto deliEquipmentRedis(DelEquipImportReq req);

    void insertExcelEquip(EquipmentDto record);

    GenerateImportDto updateImportEquip(UpdateImportEquipVo updateImportEquipVo);

    int equipmentBind(BindEquipmentReq dto);

    String getEquipWxCode(WxCodeDto dto) throws Exception;
}
